1. Field of the Invention
The present invention relates to a session service based upon session initiation protocol (SIP), and particularly, to a mobile communications terminal for controlling a user's floor in a push-to (PT) service, and a method and system thereof.
2. Discussion of the Related Art
A PT service is intended to provide rapid communications for business and consumers of mobile networks. The PT service can be a Push-to-talk Over Cellular (PoC) or PTT (Push To Talk) service for providing a call service by sending voice data, a Push To View (PTV) for sending moving picture (video) data, or a communication service such as a Push To Data (PTD) for sending data. In a PT service system, a PT client (e.g., a client supporting a PT service) that wishes to transmit media data needs to first have an authority/permission to transmit the media data. Media data refers to voice, video, or data, or any combination thereof. Thus, prior to the actual transmission of the media data, the PT client that wishes to transmit the media data transmits a media burst request message to an associated PT server. A media burst is a right to send media data. If the PT service is a PTT or PoC service, then the media burst request message can be referred to as a talk burst request message.
Once the PT client receives the media burst (permission), then the PT client sends media data to one or more other PT clients with which a session has been established. The PT service allows user voice, moving picture and data communications to be shared with a single recipient (1-to-1) or between groups of recipients as in a group chat session (1-to-many), and uses a session initiation protocol (SIP) to establish a session.
In general, a PoC service is a half duplex communication service which is capable of immediately communicating with another party, and provides communications services based upon a circuit or a packet using technologies such as SIP, AD-hoc, or the like.
Users register their information in a PoC server to subscribe to the PoC service. The users registered in the PoC server (referred to as a PoC user hereafter), if necessary, form a certain group.
In one group including a plurality of PoC users, each PoC user selects (presses) a button on a PoC terminal to request a floor (or a talk burst). The PoC server grants the floor to the PoC user who has requested the talk burst and notifies the other PoC users that the floor is currently not available. Afterwards, when completing the transmission of media data, the PoC user selects the PoC button to release the floor. The other PoC users then request the floor from the PoC server to send desirable media data such as audio data and/or video data.
In the related art PoC service, in order to smoothly provide the PoC service, priority levels for a talk burst request are designated in the order of normal priority→high priority→pre-emptive priority. Accordingly, when a plurality of PoC users having different priorities request the talk burst, the PoC server grants the floor to the PoC user having the highest priority. But if a plurality of PoC users having the same priority request the talk burst (e.g., a right to speak), the PoC server grants the floor in the order in which the requests are made.
FIG. 1 illustrates a procedure for controlling a floor when PT users having the same priority request the floor. Here, as an example, an explanation will be given for PT clients 10 and 14, where the PT clients 10 and 14 function as PoC clients and users of the PT clients 10 and 14 are respectively referred to as PoC user A and PoC user B.
As illustrated in FIG. 1, when the PoC user A selects a PoC button, software mounted in the user A's PoC terminal, namely, the PT client 10, requests a floor from a PT server 12, which is a controlling server (server having a controlling function), using a talk burst request message (S1). Here, a PT server 11, which is a participating server (server having a participating function), is used to deliver messages and media data between the PT client 10 and the PT server 12.
The PT server 12 uses a talk burst confirm message to notify the PT server 11 of the grant of the floor in response to the talk burst request message, and the PT server 11 then sends the talk burst confirm message to the PT client 10 (S2). The talk burst confirm message is equivalent to a talk burst granted message. Through a PT server 13, the PT server 12 also sends a receiving talk burst message to inform other PoC clients (e.g., a PT client 14) on a PoC session that the PT client 10 currently has the floor (S3). Here, each PoC client, for example, the PT client 14 notifies the PoC user B of a user ID of the PT client 10.
The PT client 10 having received the talk burst confirm message informs the PoC user A that the floor has been granted thereto using a certain sound or a message, for example, and immediately and automatically starts to send media data (e.g., audio data or vide data) to the PT server 12 through the PT server 11 (S4). Accordingly, the PT server 12 sends the media data received from the PT client 10 via the PT server 13 to all of the other PT clients (e.g., PT client 14) on the PoC session.
Afterwards, when the PoC user A releases the PoC button on his terminal, the PT client 10 sends the last media packet to the other PT clients through the PT servers 11-13 (S5), and then uses a talk burst complete message to inform the PT server 12 that the PoC user A is finished (S6). The talk burst complete message is equivalent to a talk burst release message. When receiving the talk burst complete message, the PT server 12 uses a no talk burst message to inform all of the PT clients including the PT client 10 that no one has the floor (S7). Accordingly, each PT client including the PT client 10 notifies its PT client of a talk burst idle.
FIG. 2 illustrates a general procedure for controlling a floor when PT users having different priorities request the floor, and in particular, a procedure for controlling the floor when a PoC user having the pre-emptive priority requests the talk bust authority.
As illustrated in FIG. 2, a current PT client 14 receives the floor from the PT server 12 and sends media data to all of the PT clients (e.g., PT client 10 and others) on the PoC session through the PT servers 11-13 (S10). Here, it is assumed that the PoC user A of the PoC client 10 has the highest pre-emptive priority.
In this state, when the PoC user A having the highest pre-emptive priority selects the PoC button, the PT client 10 sends a talk burst request message to the PT server 12 to request the floor from the PT server 12 (S11). Here, the talk burst request message includes information about the PoC user A having the highest pre-emptive priority.
Upon receiving the talk burst request message from the PT client 10 having the highest pre-emptive priority, the PT server 12 then sends a stop talk burst message to the PT client 14 to inform the PT client 14 which is currently sending the media data that the floor thereof would be cancelled (interrupted) (S12). Before interrupting the floor of the PT client 14, the PT server 12 permits the PT client 14 to take a particular grace time.
The PT client 14 sends the last media data to the PT client 10 during the grace time (S13), and thereafter sends a talk burst complete message to the PT server 12 to thereby release its floor (S14). The PT server 12 having received the talk burst complete message then sends a talk burst confirm message to the PT client 10 to inform the PT client 10 of the grant of the floor to the PT client 10 (S15).
Accordingly, the PT client 10 informs the PoC user A of the granted floor and immediately and automatically starts to send media data to the PT server 12 (S16). Upon receiving the media data, the PT server 12 sends a receiving talk burst message to the PT client 14 to inform the PT client 14 that the PT client 10 is sending the media data (S17). The PT server 12 then sends the received media data to the PT client 14 (S16).
Thus, while the PoC user B (the PT client 14) having the normal priority or the high priority has the floor or a right to send media data such as audio data or video data for one PoC session, when another PoC user A (the PT client 10) having the pre-emptive priority requests the talk burst, the PT server 12 interrupts the floor of the PoC user B having the normal or high priority by use of the stop talk burst message (S12), and then grants the floor to the PoC user A having the pre-emptive priority so that the PT client 10 can send its media data.
In this situation, because the floor of the PoC user B having the normal priority or the high priority is interrupted in a state of incompletely sending the media data, the floor is then granted back to the PoC user B when the PoC user A having the preemptive priority releases its floor. That is, when the PoC user A having the pre-emptive priority releases its floor, in the related art, the PT server 12 grants the floor back to the PoC user B whose floor has been interrupted by using a talk burst confirm message.
This, however, can create problems. For instance, even if the PoC user B whose floor has been interrupted does not request the floor and in fact another PoC user requests the floor, the PT server 12 preferentially grants the floor back to the PoC user B (the PT client 14). As a result, upon receiving the talk burst confirm message, the PT client 14 may send an indication to the PoC user B that the PT server 12 has granted the floor thereto, and then immediately and automatically sends its media data such as audio data (e.g., surrounding sounds including the user B's voice data) and video data, to the PoC server 12 without the permission of the PoC user B (i.e., without requiring an approval from the user B). That is, even if the PT client 14 did not request the floor, the floor is granted back to the PT client 14 and as a result, unexpected or undesired media data of the user B may be sent from the PT client 14 to the other terminals, which is highly undesired and problematic. Since the user B does not expect the grant-back of the floor after the user B's floor interruption, but the floor is still granted back to the user B, the user B's media data is transmitted to the other users without the user B's permission. For instance, the user B's terminal may automatically pick up its surrounding sounds (e.g., user's conversions, background noise, etc.) and transmit them to the other terminals, without the user B's awareness and/or permission, whereby the user's current conversions, etc. are unintentionally sent to the other terminals. This can cause embarrassment and negative consequences to the user B and the users at the receiving side.
Furthermore, because the automatic grant-back of the floor and the automatic transmission of unintended media data from the user B's terminal, the user B may now be charged for and has to pay for such transmission that the user B did not authorize. Similarly, the users on the receiving side may now be charged for and have to pay for receiving such media data.
Moreover, because the floor is automatically granted back to the user B, if another user requests the floor, then that user will not get the floor until the user B is finished with the floor. Thus, the floor is not granted to a user that actually requests the floor, which can cause an unnecessary delay and frustration for that user.